package java学习.实训.day01;

import java.util.Scanner;

/**
 * **************
 * 项目名称: 蓝桥杯 <br/>
 * 文件名称:  <br/>
 * 文件描述: 这里添加您的类文件描述，说明当前文件要包含的功能。 <br/>
 * 文件创建：刘世锦 <br/>
 * 创建时间: 2022/6/7 <br/>
 *
 * @version v1.0 <br/>
 * @update [序号][日期YYYY-MM-DD][更改人姓名][变更描述]<br/>
 * *************
 */

public class FamilyStatement {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        Buildup x1=new Buildup();//创建对象x1
        int x=1,i=0,j;
        int sum=10000,income,outcome;//设置初始金额10000，收入，支出变量储存每次输入
        String sta[]=new String[100];//创建字符串变量存储说明
        int mon[]=new int[100];//储存每次的输入输出数据
        int s[]=new int[100];//存储每次收入支出之后的总金额
        boolean bo[]=new boolean[100];//存储判断每次是输入还是输出
        do
        {
            x1.build();//先建立一个开始界面
            int k=in.nextInt();//输入选项
            switch (k)//判断选项对应的操作
            {
                case 1:
                {
                    x1.check();
                    for(j=0;j<sta.length;j++)
                    {
                        if(sta[j]!=null) {
                            if (bo[j] == true) {
                                System.out.print("收入                       ");
                                System.out.println(s[j] +"           "+mon[j] + "                                  "+sta[j]);
                            } else if (bo[j] == false) {
                                System.out.print("支出                       ");
                                System.out.println(s[j] +"           "+ mon[j] +"                                  " +sta[j]);
                            }
                        }
                    }

                }break;
                case 2:
                {

                    i++;//若匹配则加一
                    x1.income();
                    income=in.nextInt();
                    mon[i]=income;
                    sum+=income;
                    s[i]=sum;
                    System.out.println("本次收入说明：");
                    sta[i]=in.next();
                    bo[i]=true;
                }break;
                case 3:
                {
                    i++;
                    x1.outcome();
                    outcome=in.nextInt();
                    mon[i]=outcome;
                    sum-=outcome;
                    s[i]=sum;
                    System.out.println("本次支出说明：");
                    sta[i]=in.next();
                    bo[i]=false;
                }break;
                case 4:
                {
                    x1.exit();
                }break;
                default:System.out.println("选择错误，请重新输入：");

            }


        }while(x==1);//使之若不退出则无限循环
    }



}

class Buildup
{
    public void build()//建立初始界面
    {
        System.out.println("--------------------------------家庭收支记账软件---------------------------------------");
        System.out.println();
        System.out.println("                                 1   收支明细                                          ");
        System.out.println("                                 2   登记收入                                          ");
        System.out.println("                                 3   登记支出                                          ");
        System.out.println("                                 4   退   出                                          ");
        System.out.println();
        System.out.print("                                 请选择(1-4):");
    }
    public void exit()//退出选项
    {
        Scanner in=new Scanner(System.in);
        String t;
        char m;
        System.out.println();
        System.out.println("是否选择退出<Y/N>:");
        t=in.next();//输入字符串
        m=t.charAt(0);//取字符串第一个字符
        if(m=='Y')
            System.exit(0);
    }
    public void check()//收支表
    {
        System.out.println("--------------------------------当前收支明细--------------------------------------------");
        System.out.println("收支                       账户金额         收支金额                              说 明    ");
    }
    public void income()
    {
        System.out.println("本次收入金额：");
    }//收入表示
    public void outcome()
    {
        System.out.println("本次支出金额：");
    }//支出表示
}